perm filename DPYSUB.HDR[SYS,HE] blob sn#055846 filedate 1973-07-30 generic text, type T, neo UTF8
COMMENT ⊗   VALID 00003 PAGES 
RECORD PAGE   DESCRIPTION
 00001 00001
 00002 00002	QUAM DISPLAY ROUTINES AS MODIFIED FOR THE HAND/EYE SYSTEM
 00005 00003		THESE ROUTINES ARE MODIFIED FOR THE HAND/EYE SYSTEM
 00007 ENDMK
⊗;
COMMENT QUAM DISPLAY ROUTINES AS MODIFIED FOR THE HAND/EYE SYSTEM;

REQUIRE "DPYSUB[1,PDQ]" LOAD_MODULE;
REQUIRE "DISPLY[1,PDQ]" LOAD_MODULE;
EXTERNAL PROCEDURE RVECT(INTEGER X,Y);
EXTERNAL PROCEDURE RIVECT(INTEGER X,Y);
EXTERNAL PROCEDURE RPT(INTEGER X,Y);
EXTERNAL PROCEDURE RPOINT(INTEGER X,Y);
EXTERNAL PROCEDURE AIVECT(INTEGER X,Y);
EXTERNAL PROCEDURE AVECT(INTEGER X,Y);
EXTERNAL PROCEDURE APT(INTEGER X,Y);
EXTERNAL PROCEDURE APOINT(INTEGER X,Y);
EXTERNAL PROCEDURE GVECT(INTEGER X,Y,OP,SIZ,BRT);
EXTERNAL PROCEDURE DPYSET(INTEGER ARRAY BUF);
EXTERNAL INTEGER PROCEDURE DPYPARS;
EXTERNAL PROCEDURE DPYRESET(INTEGER BUF);
EXTERNAL PROCEDURE CLRBFR;
EXTERNAL PROCEDURE DPYOUT(INTEGER POG);
EXTERNAL BOOLEAN OVERLAY;
EXTERNAL PROCEDURE TYPLOC(INTEGER P1,P2);
EXTERNAL PROCEDURE DPYTYP(INTEGER POS,JMPS,LINESPERJUMP);
EXTERNAL PROCEDURE PGSEL(INTEGER POG);
EXTERNAL PROCEDURE UPGMVM(INTEGER VAL;INTEGER ADR);
EXTERNAL INTEGER PROCEDURE UPGMVE(INTEGER ADR);
EXTERNAL INTEGER PROCEDURE DPYTST;
EXTERNAL PROCEDURE DPYBIG(INTEGER SIZE);
EXTERNAL PROCEDURE DPYBRT(INTEGER BRT);
EXTERNAL PROCEDURE DPYSST(STRING S);
EXTERNAL INTEGER DPYPTR, PTYDPY;

EXTERNAL PROCEDURE ACPOGS(INTEGER MASK);
EXTERNAL PROCEDURE ACCPOG(INTEGER POG);
EXTERNAL PROCEDURE DACPOG(INTEGER POG);
EXTERNAL INTEGER POGON;


EXTERNAL PROCEDURE CALCOMP(STRING FILE;INTEGER ARRAY BUFR);
EXTERNAL INTEGER PROCEDURE MKSCALE(INTEGER X0,Y0,DX;REAL DY;INTEGER I0,IM;STRING UNITS);
EXTERNAL INTEGER PROCEDURE ARRGRF(INTEGER ARRAY A;INTEGER I0,IM,X0,Y0,XN,YN;STRING XUNIT,YUNIT);
EXTERNAL PROCEDURE MKCIRCLE(REAL RADIUS,X0,Y0;INTEGER RES);
EXTERNAL BOOLEAN CALFLG;
EXTERNAL PROCEDURE OVERPIC(STRING PICNAM;INTEGER ARRAY DPYBUF;INTEGER NX,NY,L);
EXTERNAL PROCEDURE DDOVER(INTEGER ARRAY PIC;INTEGER ARRAY DPYBUF;INTEGER NX,NY,L);
EXTERNAL PROCEDURE DDCLR;
COMMENT		THESE ROUTINES ARE MODIFIED FOR THE HAND/EYE SYSTEM

		BE WARNED THAT THE GLOBAL MODEL (PREAMB.SAI) MUST BE REQUIRED;

INTEGER D_JOB_NUM;

SIMPLE INTEGER PROCEDURE GETPOG;
	BEGIN INTEGER I;
	IF ¬GDISP_INIT THEN
		BEGIN
		FOR I←0 STEP 1 UNTIL 14 DO GDISP[I] ← -1;
		GDISP_INIT ← TRUE;
		END;
	IF ¬D_JOB_NUM THEN D_JOB_NUM ← CALL(0,"PJOB");
	FOR I←0 STEP 1 UNTIL 14 DO IF GDISP[I]<0 THEN
		BEGIN
		GDISP[I] ← D_JOB_NUM;
		RETURN(I);
		END;
	RETURN(-1);
	END;

SIMPLE PROCEDURE RELPOG(REFERENCE INTEGER I);
	BEGIN EXTERNAL SIMPLE PROCEDURE RELPOG(INTEGER I);
	IF 0≤I≤14 THEN
		BEGIN
		GDISP[I] ← -1;
		RELPOG(I);
		I ← -1;
		END;
	END;

SIMPLE PROCEDURE HYDPOG(REFERENCE INTEGER I);
	RELPOG(I);

SIMPLE PROCEDURE DPYCLR;
	BEGIN INTEGER I,J;
	IF ¬D_JOB_NUM THEN D_JOB_NUM ← CALL(0,"PJOB");
	FOR I←0 STEP 1 UNTIL 14 DO IF GDISP[I]=D_JOB_NUM THEN RELPOG(J←I);
	END;